import TabsView from '@/layouts/tabs/TabsView'
import BlankView from '@/layouts/BlankView'
import PageView from '@/layouts/PageView'

// 路由配置
const options = {
  routes: [
    {
      name: '测试Gerber',
      path: 'testGerber',
      component: () => import('@/pages/demo'),
    },
    {
      path: '/login',
      name: '登录页',
      component: () => import('@/pages/login')
    },
    {
      path: '*',
      name: '404',
      component: () => import('@/pages/exception/404'),
    },
    {
      path: '/403',
      name: '403',
      component: () => import('@/pages/exception/403'),
    },
    {
      path: '/',
      name: '首页',
      component: TabsView,
      redirect: '/login',
      children: [
        {
          path: 'demo',
          name: 'demo',
          meta: {
            icon: 'copy'
          },
          component: BlankView,
          children: [
            {
              path: 'dashboard',
              name: '控制台',
              meta: {
                icon: 'dashboard',
              },
              component: BlankView,
              children: [
                {
                  path: 'analysis',
                  name: '分析页',
                  component: () => import('@/pages/dashboard/analysis'),
                },
                // {
                //   path: 'uploadDemo',
                //   name: '上传demo',
                //   component: () => import('@/pages/demoBox/uploadDemo')
                // },
                // {
                //   path: 'busDemo',
                //   name: '跨组件通讯demo',
                //   component: () => import('@/pages/demoBox/busDemo')
                // },
                // {
                //   path: 'dragModal',
                //   name: '拖拽弹窗',
                //   component: () => import('@/pages/demoBox/dragModal')
                // },
              ]
            },
            // {
            //   path: 'list',
            //   name: '列表页',
            //   meta: {
            //     icon: 'table'
            //   },
            //   component: PageView,
            //   children: [
            //     {
            //       path: 'query',
            //       name: '查询表格',
            //       meta: {
            //         authority: 'queryForm',
            //       },
            //       component: () => import('@/pages/demoBox/list/QueryList'),
            //     },
            //     {
            //       path: 'primary',
            //       name: '标准列表',
            //       component: () => import('@/pages/demoBox/list/StandardList'),
            //     },
            //     {
            //       path: 'card',
            //       name: '卡片列表',
            //       component: () => import('@/pages/demoBox/list/CardList'),
            //     },
            //     {
            //       path: 'search',
            //       name: '搜索列表',
            //       component: () => import('@/pages/demoBox/list/search/SearchLayout'),
            //       children: [
            //         {
            //           path: 'article',
            //           name: '文章',
            //           component: () => import('@/pages/demoBox/list/search/ArticleList'),
            //         },
            //         {
            //           path: 'application',
            //           name: '应用',
            //           component: () => import('@/pages/demoBox/list/search/ApplicationList'),
            //         },
            //         {
            //           path: 'project',
            //           name: '项目',
            //           component: () => import('@/pages/demoBox/list/search/ProjectList'),
            //         }
            //       ]
            //     }
            //   ]
            // },
            // {
            //   path: 'details',
            //   name: '详情页',
            //   meta: {
            //     icon: 'profile'
            //   },
            //   component: BlankView,
            //   children: [
            //     {
            //       path: 'basic',
            //       name: '基础详情页',
            //       component: () => import('@/pages/demoBox/detail/BasicDetail')
            //     },
            //     {
            //       path: 'advance',
            //       name: '高级详情页',
            //       component: () => import('@/pages/demoBox/detail/AdvancedDetail')
            //     }
            //   ]
            // },
            // {
            //   path: 'pageLayout',
            //   name: '页面布局',
            //   meta: {
            //     icon: 'profile'
            //   },
            //   component: BlankView,
            //   children: [
            //     {
            //       path: 'layout',
            //       name: 'Layout布局',
            //       component: () => import('@/pages/demoBox/layout/layout')
            //     },
            //     {
            //       path: 'grid',
            //       name: 'grid栅格',
            //       component: () => import('@/pages/demoBox/layout/grid')
            //     }
            //   ]
            // },
            // {
            //   path: 'table',
            //   name: '表格',
            //   meta: {
            //     icon: 'profile'
            //   },
    
            //   component: BlankView,
            //   children: [
            //     {
            //       path: 'basic',
            //       name: '基础表格',
            //       component: () => import('@/pages/demoBox/table/basicTable')
            //     },
            //     {
            //       path: 'cs',
            //       name: '测试表格',
            //       component: () => import('@/pages/demoBox/table/cstable')
            //     },
            //     {
            //       path: 'cs2',
            //       name: '测试表格2',
            //       component: () => import('@/pages/demoBox/table/cstable2')
            //     },
            //     {
            //       path:'detail',
            //       name: '详情页',
            //       meta: {
            //         invisible:true// 左边菜单栏不显示
            //       },
            //       component: () => import('@/pages/demoBox/table/cstableDetail')
            //     },
            //     {
            //       path: 'borderdTable',
            //       name: '表格边框',
            //       component: () => import('@/pages/demoBox/table/borderdTable')
            //     }, 
            //     {
            //       path: 'fixedColumTable',
            //       name: '固定列',
            //       component: () => import('@/pages/demoBox/table/fixedColumTable')
            //     },
            //     {
            //       path: 'fixedHeaderTable',
            //       name: '固定表头',
            //       component: () => import('@/pages/demoBox/table/fixedHeaderTable')
            //     },
            //     {
            //       path: 'ellipsisTable',
            //       name: '单元格自动省略',
            //       component: () => import('@/pages/demoBox/table/ellipsisTable')
            //     },
            //     {
            //       path: 'checkedTable',
            //       name: '可勾选表格',
            //       component: () => import('@/pages/demoBox/table/checkedTable')
            //     }, 
            //     {
            //       path: 'spanTable',
            //       name: '行列合并',
            //       component: () => import('@/pages/demoBox/table/spanTable')
            //     },
            //     {
            //       path: 'editRow',
            //       name: '可编辑行',
            //       component: () => import('@/pages/demoBox/table/editRow')
            //     },
            //     {
            //       path: 'expandTable',
            //       name: '表格可展开',
            //       component: () => import('@/pages/demoBox/table/expandTable')
            //     },
            //     {
            //       path: 'treeTable',
            //       name: '树形结构',
            //       component: () => import('@/pages/demoBox/table/treeTable')
            //     },
            //     {
            //       path: 'filterTable',
            //       name: '筛选排序',
            //       component: () => import('@/pages/demoBox/table/filterTable')
            //     },
            //     {
            //       path: 'headerTable',
            //       name: '表头分组',
            //       component: () => import('@/pages/demoBox/table/headerTable')
            //     }
            //   ]
            // },
            // {
            //   path: 'components',
            //   name: '内置组件',
            //   meta: {
            //     icon: 'appstore-o'
            //   },
            //   component: PageView,
            //   children: [
            //     {
            //       path: 'avatar',
            //       name: '头像',
            //       component: () => import('@/pages/demoBox/components/avatar')
            //     },
            //     {
            //       path: 'icon',
            //       name: '图标',
            //       component: () => import('@/pages/demoBox/components/icon')
            //     },
            //     {
            //       path: 'taskCard',
            //       name: '任务卡片',
            //       component: () => import('@/pages/demoBox/components/TaskCard')
            //     },
            //     {
            //       path: 'palette',
            //       name: '颜色复选框',
            //       component: () => import('@/pages/demoBox/components/Palette')
            //     },
            //     {
            //       path: 'button',
            //       name: '按钮',
            //       component: () => import('@/pages/demoBox/components/button/index')
            //     },
            //     {
            //       path: 'tree',
            //       name: '树形控件',
            //       component: () => import('@/pages/demoBox/components/tree/index')
            //     },
            //     {
            //       path: 'pagination',
            //       name: '分页控件',
            //       component: () => import('@/pages/demoBox/components/pagination/index')
            //     },
            //     {
            //       path: 'datePicker',
            //       name: '日期选择器控件',
            //       component: () => import('@/pages/demoBox/components/datePicker/index')
            //     },
            //     {
            //       path: 'timePicker',
            //       name: '时间选择器控件',
            //       component: () => import('@/pages/demoBox/components/timePicker/index')
            //     },
            //     {
            //       path: 'alertTip',
            //       name: 'Alert 警告提示',
            //       component: () => import('@/pages/demoBox/components/alertTip/index')
            //     },
            //     {
            //       path: 'message',
            //       name: 'message 全局提示',
            //       component: () => import('@/pages/demoBox/components/message/index')
            //     },
            //     {
            //       path: 'loading',
            //       name: 'loading 加载',
            //       component: () => import('@/pages/demoBox/components/loading')
            //     },
            //     {
            //       path: 'timeLine',
            //       name: '时间轴',
            //       component: () => import('@/pages/demoBox/components/timeLine')
            //     },
            //     {
            //       path: 'editor',
            //       name: '富文本编辑框',
            //       component: () => import('@/pages/demoBox/components/editor')
            //     },
            //     {
            //       path: 'modal',
            //       name: '弹框',
            //       component: () => import('@/pages/demoBox/components/modal')
            //     },
            //     {
            //       path: 'tab',
            //       name: 'tab标签页',
            //       component: () => import('@/pages/demoBox/components/tab')
            //     },
            //     {
            //       path: 'tag',
            //       name: 'tag标签',
            //       component: () => import('@/pages/demoBox/components/tag')
            //     },
            //   ]
            // },
            // {
            //   path: 'form',
            //   name: '表单页',
            //   meta: {
            //     icon: 'form'
            //   },
            //   component: PageView,
            //   children: [
            //     {
            //       path: 'BasicForm',
            //       name: '基础表单',
            //       meta: {
            //         // authority: 'AbpVnext.ArticleCategory',
            //       },
            //       component: () => import('@/pages/demoBox/form/basic/BasicForm'),
            //     },
            //     {
            //       path: 'StepForm',
            //       name: '分步表单',
            //       meta: {
            //         // authority: 'AbpVnext.ArticleCategory',
            //       },
            //       component: () => import('@/pages/demoBox/form/step/StepForm'),
            //     },
            //     {
            //       path: 'advance',
            //       name: '高级表单',
            //       meta: {
            //         // authority: 'AbpVnext.ArticleCategory',
            //       },
            //       component: () => import('@/pages/demoBox/form/advance/AdvancedForm'),
            //     },
            //   ]
            // },
            // {
            //   path: 'article',
            //   name: '内容管理',
            //   meta: {
            //     icon: 'table'
            //   },
            //   component: PageView,
            //   children: [
            //     {
            //       path: 'categoryList',
            //       name: '分类管理',
            //       meta: {
            //         authority: 'AbpVnext.ArticleCategory',
            //       },
            //       component: () => import('@/pages/demoBox/article/CategoryList'),
            //     },
            //     {
            //       path: 'articleList',
            //       name: '文章管理',
            //       component: () => import('@/pages/demoBox/article/ArticleList'),
            //     }
            //   ]
            // },
            // {
            //   path: 'result',
            //   name: '结果页',
            //   meta: {
            //     icon: 'check-circle-o',
            //   },
            //   component: PageView,
            //   children: [
            //     {
            //       path: 'success',
            //       name: '成功',
            //       component: () => import('@/pages/demoBox/result/Success')
            //     },
            //     {
            //       path: 'error',
            //       name: '失败',
            //       component: () => import('@/pages/demoBox/result/Error')
            //     }
            //   ]
            // },
          ]
        },
        
        
        // {
        //   path: 'demo',
        //   name: '演示页',
        //   meta: {
        //     icon: 'file-ppt'
        //   },
        //   component: () => import('@/pages/demo')
        // },
        // {
        //   path: 'parent1',
        //   name: '父级路由1',
        //   meta: {
        //     icon: 'dashboard',
        //   },
        //   component: BlankView,
        //   children: [
        //     {
        //       path: 'demo1',
        //       name: '演示页面1',
        //       component: () => import('@/pages/demo'),
        //     }
        //   ]
        // },
        // {
        //   path: 'parent2',
        //   name: '父级路由2',
        //   meta: {
        //     icon: 'form'
        //   },
        //   component: PageView,
        //   children: [
        //     {
        //       path: 'demo2',
        //       name: '演示页面2',
        //       component: () => import('@/pages/demo'),
        //     }
        //   ]
        // },
        {
          path: 'exception',
          name: '异常页',
          meta: {
            icon: 'warning',
          },
          component: BlankView,
          children: [
            {
              path: '404',
              name: 'Exp404',
              component: () => import('@/pages/exception/404')
            },
            {
              path: '403',
              name: 'Exp403',
              component: () => import('@/pages/exception/403')
            },
            {
              path: '500',
              name: 'Exp500',
              component: () => import('@/pages/exception/500')
            }
          ]
        },
        {
          name: '验权页面',
          path: 'auth/demo',
          meta: {
            icon: 'file-ppt',
            authority: {
              permission: 'form',
              role: 'manager'
            },
            component: () => import('@/pages/demo')
          }
        },
        {
          path: 'system',
          name: '系统管理',
          meta: {
            icon: 'setting'
          },
          component: PageView,
          children: [
            {
              path: 'tenant',
              name: '租户管理',
              meta: {
                 authority: 'Saas.Tenants',
              },
              component: () => import('@/pages/multiTenancy/TenantList'),
            },
            {
              path: 'edition',
              name: '版本管理',
              meta: {
                 authority: 'Saas.Editions',
              },
              component: () => import('@/pages/edition/editionManage'),
            },
            {
              path: 'organizationUnits',
              name: '身份标识管理',
              component: BlankView,
              children: [
                {
                  path: 'organization',
                  name: '组织机构',
                  meta: {
                    authority: 'AbpIdentity.OrganizationUnits',
                  },
                  component: () => import('@/pages/organization/organizationUnits'),
                },
                {
                  path: 'role',
                  name: '角色管理',
                  meta: {
                    authority: 'AbpIdentity.Roles',
                  },
                  component: () => import('@/pages/identity/RoleList'),
                },
                {
                  path: 'user',
                  name: '用户管理',
                  meta: {
                    authority: 'AbpIdentity.Users',
                  },
                  component: () => import('@/pages/identity/UserList'),
                },
                {
                  path: 'claimTypes',
                  name: '声明类型',
                  meta: {
                    authority: 'AbpIdentity.ClaimTypes',
                  },
                  component: () => import('@/pages/claimType/claimTypes'),
                },
                {
                  path: 'securityLogs',
                  name: '安全日志',
                  meta: {
                    authority: 'AbpIdentity.ClaimTypes',
                  },
                  component: () => import('@/pages/claimType/securityLogs'),
                },
              ]
            },
            {
              path: 'identityServer',
              name: 'Identity Server',
              component: BlankView,
              children: [
                {
                  path: 'client',
                  name: '客户端',
                  meta: {
                      // authority: 'IdentityServer.Client',
                  },
                  component: () => import('@/pages/identityServer/Client'),
                },
                {
                  path: 'IdentityResources',
                  name: 'Identity资源',
                  meta: {
                    authority: 'IdentityServer.IdentityResource',
                  },
                  component: () => import('@/pages/identityServer/identityResources'),
                },
                {
                  path: 'ApiResources',
                  name: 'API资源',
                  meta: {
                    authority: 'IdentityServer.ApiResource',
                  },
                  component: () => import('@/pages/identityServer/apiResources'),
                },
                {
                  path: 'apiScopes',
                  name: 'API Scope',
                  meta: {
                    authority: 'IdentityServer.ApiScope',
                  },
                  component: () => import('@/pages/identityServer/apiScopes'),
                },
              ]
            },
            {
              path: 'languageManagement',
              name: '语言管理',
              component: BlankView,
              children: [
                {
                  path: 'LanguageManagement',
                  name: '语言',
                  meta: {
                    authority: 'LanguageManagement.Languages',
                  },
                  component: () => import('@/pages/languageManagement/language'),
                },
              ]
            },
            {
              path: 'textTemplates',
              name: '文本模板',
              meta: {
                authority: 'TextTemplateManagement.TextTemplates',
              },
              component: () => import('@/pages/textTemplates/list'),
            },
            {
              path: 'auditLog',
              name: '审计日志',
              meta: {
                // authority: 'AbpAuditLogging.Default',
              },
              component: () => import('@/pages/auditlogging/List'),
            },
            {
              path: 'organization',
              name: '组织单元',
              meta: {
                // authority: 'AbpIdentity.OrganitaionUnits',
              },
              component: () => import('@/pages/identity/OrganizationList'),
            },
            {
              path: 'file',
              name: '文件管理',
              meta: {
                // authority: 'EasyAbp.FileManagement.File',
              },
              component: () => import('@/pages/fileManagement/File')
            },
            {
              path: 'notification',
              name: '通知管理',
              meta: {
                // authority: 'EasyAbp.NotificationService.Notification',
              },
              component: () => import('@/pages/notification/List')
            },
            {
              path: 'setting', 
              name: '设置',
              meta: {
                // authority: 'EasyAbp.NotificationService.Notification',
              },
              component: () => import('@/pages/settingManagement/Setting')
            },
            {
              path: 'dataDictionary',
              name: '数据字典',
              meta: {
                // authority: 'EasyAbp.Abp.DataDictionary.DataDictionary',
              },
              component: () => import('@/pages/dataDictionary/DataDictionary')
            },
          ]
        },
        {
          name: 'Ant Design Vue',
          path: 'antdv',
          meta: {
            icon: 'ant-design',
            link: 'https://www.antdv.com/docs/vue/introduce-cn/'
          }
        },
        {
          name: '使用文档',
          path: 'document',
          meta: {
            icon: 'file-word',
            link: 'https://iczer.gitee.io/vue-antd-admin-docs/'
          }
        }
      ]
    }
  ]
}

export default options
